Matrix Multiplication Program: a Case Study of Metamorphic Testing
نویسنده
چکیده
Software testing is one of phases in software engineering process that has a very important role to determine the quality of software under test. In software testing, after generating and selecting test cases, and executing them, the outputs need to be checked against a test oracle to determine whether any failures detected or not. Oracle problem is one of the biggest problems in Software testing. It is a condition where a test oracle can not be obtained or too expensive to be used in testing. Metamorphic Testing is a new testing approach designed to alleviate oracle problem. This approach makes use the crucial properties of software under testing, to determine some Metamorphic Relations (MRs). MRs is used to generate follow-up test cases based on original test cases, known as source test cases. The relations are also used to verify whether test passes or fails. This paper presents a use of Metamorphic Testing in testing a program implementing a matrix multiplication. Five Metamorphic Relations are identified and implemented to test five Mutant programs having intentionally bug inserted. All Mutants have been successfully killed by test cases generated by the five Metamorphic Relations. It showed that the generated MRs have been effective enough in conducting Metamorphic Testing for this case study.
منابع مشابه
Metamorphic Testing of Programs on Partial Differential Equations: A Case Study
We study the effect of applying metamorphic testing to alleviate the oracle problem for numerical programs. We discuss a case study on the testing of a program that solves an elliptic partial differential equation with Dirichlet boundary conditions. We identify a metamorphic relation for the equation and demonstrate the effectiveness of metamorphic testing in identifying the error. The relation...
متن کاملVerification of Optimization Algorithms: a Case Study of a Quadratic Assignment Problem Solver
It is often difficult to verify the solutions of computationally intensive mathematical optimization problems. Metamorphic testing is a technique to verify software test output even when a complete testing oracle is not present. We apply metamorphic testing to a classic optimization problem, the quadratic assignment problem (QAP). A number of metamorphic relations for the QAP are described in d...
متن کاملAn Efficient Metamorphic Testing Technique Using Genetic Algorithm
Testing helps in preserving the quality and reliability of the software component thus ensuring its successful functioning. The task of testing components for which the final output for arbitrary input cannot be known in advance is a challenging task; as sometimes conditions or predicates in the software restrict the input domain Metamorphic testing is an effective technique for testing systems...
متن کاملPredicting Metamorphic Relation for Matrix Calculation Programs
Matrices often represent important information in scientific applications and are involved in performing complex calculations. But systematically testing these applications is hard due to the oracle problem. Metamorphic testing is an effective approach to test such applications because it uses metamorphic relations to determine whether test cases have passed or failed. Metamorphic relations are...
متن کاملA New Parallel Matrix Multiplication Method Adapted on Fibonacci Hypercube Structure
The objective of this study was to develop a new optimal parallel algorithm for matrix multiplication which could run on a Fibonacci Hypercube structure. Most of the popular algorithms for parallel matrix multiplication can not run on Fibonacci Hypercube structure, therefore giving a method that can be run on all structures especially Fibonacci Hypercube structure is necessary for parallel matr...
متن کامل